/*
 * Copyright 2008 Jeff Dwyer
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.apress.progwt.server.domain.generated;

import com.apress.progwt.client.domain.User;

/**
 * AbstractMailingListEntry generated by hbm2java
 */
public abstract class AbstractMailingListEntry implements
        java.io.Serializable {

    // Fields

    private String email;
    private String host;
    private long id;
    private User inviter;
    private String randomkey;

    private String referer;
    private boolean sentEmailOk;
    private User signedUpUser;

    private String userAgent;

    // Constructors
    /** default constructor */
    public AbstractMailingListEntry() {
    }

    /** full constructor */
    public AbstractMailingListEntry(String email, String userAgent,
            String referer, String host) {
        this.email = email;
        this.userAgent = userAgent;
        this.referer = referer;
        this.host = host;
    }

    public boolean equals(Object other) {
        if ((this == other))
            return true;
        if ((other == null))
            return false;
        if (!(other instanceof AbstractMailingListEntry))
            return false;
        AbstractMailingListEntry castOther = (AbstractMailingListEntry) other;

        return ((this.getEmail() == castOther.getEmail()) || (this
                .getEmail() != null
                && castOther.getEmail() != null && this.getEmail()
                .equals(castOther.getEmail())));
    }

    public String getEmail() {
        return this.email;
    }

    public String getHost() {
        return this.host;
    }

    // Property accessors
    public long getId() {
        return this.id;
    }

    public User getInviter() {
        return inviter;
    }

    public String getRandomkey() {
        return randomkey;
    }

    public String getReferer() {
        return this.referer;
    }

    public User getSignedUpUser() {
        return signedUpUser;
    }

    public String getUserAgent() {
        return this.userAgent;
    }

    public int hashCode() {
        int result = 17;

        result = 37 * result
                + (getEmail() == null ? 0 : this.getEmail().hashCode());

        return result;
    }

    public boolean isSentEmailOk() {
        return sentEmailOk;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public void setId(long id) {
        this.id = id;
    }

    public void setInviter(User inviter) {
        this.inviter = inviter;
    }

    public void setRandomkey(String randomkey) {
        this.randomkey = randomkey;
    }

    public void setReferer(String referer) {
        this.referer = referer;
    }

    public void setSentEmailOk(boolean sentEmailOk) {
        this.sentEmailOk = sentEmailOk;
    }

    public void setSignedUpUser(User signedUpUser) {
        this.signedUpUser = signedUpUser;
    }

    public void setUserAgent(String userAgent) {
        this.userAgent = userAgent;
    }

}
